names=['help','world','yi','ji']
names.append('en')
print(names)
print ('yi' in names)
print ('k' in names)
names.insert(1,'beautiful')
print ((names))


## 1. len()查看list的长度
print('names的长度/names的列表元素个数：',len(names))
## 2. in查看元素是否在list中，结果为布尔值，false/true


## sequence types
## 1.1 增加append（） 增加在list末尾
names.append(2)
print(names)

##1.2 插入 insert（）可以指定位置增加元素
names.insert(1,'yougege')
print(names)

# 2.删除remove 和 pop
## 2.1 remove（）如果此元素在列表里则进行删除，如果在不知多少的元素里想删除多个重复的或者特定条件比如结尾为1的直接删除，不需要定位 !只能删除第一个
if 2 in names:
     names.remove(2)
 print(names)

 ## 2.2 pop()删除位置为1的这个元素 如果元素比较复杂比如dsnfioahsoig，适合使用直接删除其所在位置，避免remove时打错的情况而无法正确删除

 names.pop(1)
 print('pop()方法后的names:',names)

 # 3. index()索引 查看该元素如1001第一个位置的索引
 ## 思考如何取出所有位置1001的index的索引
 print('似乎并没有什么好的解决办法 好像还是得用枚举')

 print('\n\n''------------------------------------------')
 #5. count()查看列表元素出现的个数,简单应用出现的次数
 id=[1,2,3,4,5,6,1,1]
 print('count方法的结果',id.count(8))

 #6. extend()给指定的list进行扩充
 names.extend(id)
 print(names)
 ''''复制的实现'''
 #1.copy()很重要 保留原始信息
 id_ori=id.copy()

 print(id_ori)

 # 2.切片实现复制
 id_new=id[:]
 id.append('hello')
 print(id_new)



#枚举：因为list不仅有values值还有index索引，但for循环主要循环遍历值不遍历索引
#因此有了枚举的方法，同时遍历两者
 #enumerate()
 id=[10001,2,3,4,5,10001,10001,10001]
 pop_values_list=[] #append方法经常用于新建列表
 for index,item in enumerate(id):
     if item == 10001:
        # print(index,item)
       pop_values_list.append(index)
print('我们想要删除pop（）的值：',pop_values_list)